#!/bin/bash
problems=(
    "17. 电话号码的字母组合"
    "77. 组合"
    "78. 子集"
    "134. 加油站"
    "136. 只出现一次的数字"
    "191. 位1的个数"
    "231. 2的幂"
    "268. 丢失的数字"
    "172. 阶乘后的零"
    "793. 阶乘函数后K个零"
    "204. 计数质数"
    "292. Nim游戏"
    "319. 灯泡开关"
    "877. 石子游戏"
    "295. 数据流的中位数"
    "372. 超级次方"
    "382. 链表随机节点"
    "398. 随机数索引"
    "391. 完美矩形"
    "509. 斐波那契数"
    "645. 错误的集合"
    "710. 黑名单中的随机数"
)


for prob in "${problems[@]}"; do
    num=$(echo $prob | grep -oE '^[0-9]+')
    title=$(echo $prob | sed "s/$num//g" | xargs)
    # 移除标题中的点号
    title=${title//./}
    filename="LC_${num}_${title// /_}.java"
    cat > $filename <<EOF
package org.labuladong.其他经典算法.数学算法;

/**
 * @Author: qingle
 * @Date: 2024/10/28-16:11
 * @Description: $prob
 * @version: 1.0
 */
public class LC_${num}_${title// /_} {
}
EOF
done